阅读指南
前面七节,我们深入了解了ChatGPT是如何一步步被"教"出来的:预训练教会了它语言,监督微调教会了它任务,RLHF教会了它价值观。
现在,一个更加神秘、更加令人惊叹的现象出现了——一个连研究者们自己都没完全想到的现象。
当语言模型的规模达到一定程度时,它会突然展现出一些从未被明确"教过"的能力。
这就像是,教一个孩子识字、阅读、理解句子,然后有一天,突然发现他学会了写诗——虽然从未教过他"如何写诗",但这个能力自己"涌现"出来了。
这种现象,在AI领域被称为"涌现能力"(Emergent Abilities)或"涌现现象"(Emergence)。
上篇通过具体的例子,让你直观感受什么是涌现能力,以及它有多么震撼。
中篇将探讨"为什么会涌现"以及Scaling Laws。
下篇将讨论涌现的局限性和哲学思考。
在正式定义之前,先用一个具体的例子,建立直觉。
GPT-3之前的模型:不会算术
早期的语言模型(比如GPT-2,1.5亿参数),如果你问它:
问题:"23 + 47 = ?"
GPT-2的回答:
"23 + 47 = 60" ← 错误!(正确答案是70)或者:
"23 + 47 = 70" ← 偶尔对
"23 + 47 = 69" ← 但大多数时候错
准确率大约只有5-10%,基本上是在"瞎猜"。
GPT-3 (1750亿参数):突然会算了
但当模型规模扩大到GPT-3时,同样的问题:
问题:"23 + 47 = ?"
GPT-3的回答:
"70" ← 正确!
准确率跃升到80-90%。
关键的问题是:没有人教过GPT-3如何做加法。
训练数据中,确实包含了很多涉及数字和计算的文本:
"总共花费23美元加上47美元的税,等于70美元"
"23个苹果加上47个苹果,一共有70个苹果"
...
但这些只是自然语言文本,没有人明确告诉模型:"这是加法,你应该学会计算"。
模型只是在做它一直在做的事:预测下一个词。
然而,当模型规模足够大时,它从这些文本模式中,自己"悟"出了加法的规律。
这,就是涌现。
现在,让我给出一个更正式的定义。
涌现能力(Emergent Abilities):
当模型规模超过某个阈值时,突然出现的、在小规模模型中几乎不存在的能力。
这个定义有几个关键点:
关键点1:突然性
不是线性增长,而是跃迁式的。
+------------------
| 小模型
| 几乎不会
| (准确率接近0)
+------------------
|
| 增大规模
v
+------------------
| 中等模型
| 还是几乎不会
| (准确率仍很低)
+------------------
|
| 继续增大
v
+------------------
| 大模型
| 突然就会了!
| (准确率大幅跃升)
+------------------
关键点2:未被明确训练
这些能力不是通过"专门训练"获得的,而是从通用的语言建模任务中"涌现"出来的。
关键点3:规模依赖
必须达到一定规模,才会出现。小模型无论怎么训练,都不会有这些能力。
让我用一个物理学的类比:
水的状态:
0°C以上:液态
0°C:突然变成固态(冰)这个转变是突然的,不是渐进的。
你不会说"半液态半固态"。温度(类比模型规模)达到某个阈值,
整个系统的性质发生质变。
涌现能力,就像水的相变。
2022年,Google的研究团队发表了一篇题为《Emergent Abilities of Large Language Models》的论文,系统地研究了大语言模型的涌现能力。
他们发现,至少有几十种能力表现出了明显的涌现特征。其中有几个最令人印象深刻的例子。
我们刚才已经看到了简单加法的例子。但涌现的不仅仅是加法,还有更复杂的数学推理。
例子:多步算术
问题:
"小明有23个苹果,他给了小红7个,然后又买了15个。小明现在有多少个苹果?"需要的步骤:
23 - 7 = 16
16 + 15 = 31GPT-2 (1.5亿参数):
回答:"小明有很多苹果" ← 完全不会GPT-3 (1750亿参数):
回答:"31个" ← 正确!
例子:百分比计算
问题:
"如果一件商品原价100元,打八折,再减10元,最后价格是多少?"需要:
100 × 0.8 = 80
80 - 10 = 70GPT-3能够正确回答:70元
例子:三段论推理
前提1:所有的猫都是哺乳动物
前提2:Tom是一只猫
问题:Tom是哺乳动物吗?小模型:
可能回答:"Tom是一个名字" 或 "猫很可爱" ← 答非所问大模型:
回答:"是的,Tom是哺乳动物。因为所有猫都是哺乳动物,而Tom是猫,
所以Tom也是哺乳动物。" ← 完整的逻辑链条
例子:反事实推理
问题:
"如果拿破仑在滑铁卢战役中获胜,欧洲历史会如何不同?"小模型:
"拿破仑是法国皇帝。.." ← 只是陈述事实大模型:
"如果拿破仑获胜,法国可能会保持其在欧洲的主导地位,维也纳体系
可能不会形成,欧洲的君主制复辟可能会被推迟。.." ← 进行反事实推理
这可能是最令人惊讶的涌现能力之一。
记住:GPT-3的训练目标只是"预测下一个词",没有人教它"编程"。
但是:
问题:
"用Python写一个函数,检查一个数是否是质数"GPT-3的回答:
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True← 完全正确的代码!
更令人惊讶的是,它还能:
理解代码
给它一段代码:
def mystery(n):
if n <= 1:
return n
return mystery(n-1) + mystery(n-2)问:"这个函数做什么?"
GPT-3:"这是一个计算斐波那契数列的递归函数。"
← 正确理解了代码逻辑!
修复代码错误
给它一段有bug的代码,它能指出错误并修正。
这个更微妙,但同样惊人。
GPT-3的训练数据主要是英语(93%),其他语言占比很小。对于某些"低资源语言"(如孟加拉语),训练数据极少。
但GPT-3仍然能够:
英语 → 孟加拉语 的翻译
即使训练数据中这种翻译对极少它似乎学会了:
- 英语的语义
- 孟加拉语的语法
- 如何在两者之间建立映射
这三个能力组合起来,产生了"翻译"这个涌现能力
例子:物理常识
问题:
"如果你把一个玻璃杯从桌子上推下去,会发生什么?"小模型:
"玻璃杯会移动" ← 技术上正确,但太肤浅大模型:
"玻璃杯会掉到地上,由于玻璃很脆,很可能会摔碎。"
← 展现了对重力、物体易碎性的理解
例子:社会常识
问题:
"如果你在电影院大声说话,会怎么样?"大模型:
"其他观众可能会感到不满或要求你安静,因为这会打扰他们观影。
在某些情况下,工作人员可能会要求你离开。"
← 理解社会规范和后果
问题:
"我想学习机器学习,但我只有高中数学基础。请给我一个6个月的学习计划。"大模型能够:
- 评估现状(高中数学)
- 识别差距(需要线性代数、微积分、概率论)
- 规划阶段:
第1-2月:补数学基础
第3-4月:学习Python和基础算法
第4-5月:学习机器学习基础
第6月:做项目巩固- 提供具体资源
这种多步骤、有层次的规划能力,是涌现的。
上篇让你直观感受了涌现能力的震撼,但你可能有疑问:
为什么会涌现?
是魔法吗?还是有什么科学原理?
如果我们能理解"为什么",能不能更好地利用它?
中篇将深入探讨涌现的机制,揭示4个理论假说,以及一个让整个AI界疯狂的数学定律——Scaling Laws。
| 中文 | English | 音标 | 说明 |
|---|---|---|---|
| 涌现能力 | Emergent Abilities | /ɪˈmɜːdʒənt əˈbɪlətiz/ | 模型规模跨过某阈值时突然出现的、在小模型中几乎不存在的能力 |
| 涌现 | Emergence | /ɪˈmɜːdʒəns/ | 整体展现出局部不具备的性质,跨层级的新特性 |
| 阈值 | Threshold | /ˈθreʃhəʊld/ | 触发质变的临界点,规模跨过后能力跃迁 |
| 相变 | Phase Transition | /feɪz trænˈzɪʃn/ | 物理学术语,比喻涌现的非线性跃迁特征 |
| 算术推理 | Arithmetic Reasoning | /əˈrɪθmətɪk ˈriːzənɪŋ/ | 模型执行加减乘除与多步计算的能力 |
| 反事实推理 | Counterfactual Reasoning | /ˌkaʊntəˈfæktʃuəl ˈriːzənɪŋ/ | "如果……会怎样"的假设性推理 |
| 三段论 | Syllogism | /ˈsɪlədʒɪzəm/ | 由大前提、小前提和结论组成的逻辑推理形式 |
| 低资源语言 | Low-resource Language | /ləʊ rɪˈsɔːrs ˈlæŋɡwɪdʒ/ | 训练语料稀少的小语种,如孟加拉语 |
| 递归函数 | Recursive Function | /rɪˈkɜːrsɪv ˈfʌŋkʃn/ | 在自身定义中调用自身的函数,如斐波那契数列 |